const {app} = require('electron');
const path = require('path');
const fs = require('fs');
const jsonc = require('jsonc-parser');

class AppUtil {
  static getExePath() {
    // 获取主进程文件的路径
    const exePath = app.isPackaged ? path.dirname(app.getPath('exe')) : __dirname;

    console.log('exe 文件的位置：', exePath);
    return exePath;
  }

  static existsConfig() {
    return fs.existsSync(path.join(this.getExePath(), 'config.json'))
  }

  static createConfig() {
    return fs.writeFileSync(path.join(this.getExePath(), 'config.json'), JSON.stringify({}))
  }

  static getConfig() {
    let str = fs.readFileSync(path.join(this.getExePath(), 'config.json')).toString()
    return jsonc.parse(str)
  }

  static setConfig(config) {
    fs.writeFileSync(
      path.join(this.getExePath(), 'config.json')
      , JSON.stringify(config, null, ' ')
    )
  }

}

module.exports = AppUtil